Needs["Graphics`ContourPlot3D`"]

blen = -1.3 ; len = 1. ;

varArrow[blen_, len_] := {Graphics3D[ {Line[{{blen, 0, 0}, {len, 0, 0} ...  0.2, 0.08, 0}}], Line[{{len, 0, 0}, {len - 0.2, -0.08, 0}}] } ] }

s = 0.44 ; (* controls curvature *)

DD = 0 ; FF = 0 ; zero = ContourPlot3D[x + s (DD y^2 + FF z^2), {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, DisplayFunctionIdentity, Boxed False]

⁃Graphics3D⁃

DD = 1 ; FF = 1 ; posdef = ContourPlot3D[x + s (DD y^2 + FF z^2), {x, -1, 1.4}, {y, -1, 1}, {z ...  False, DisplayFunctionIdentity(* PlotLabel "D=F=1" *)]

⁃Graphics3D⁃

DD = -1 ; FF = 1 ; semidef = ContourPlot3D[x + s (DD y^2 + FF z^2), {x, -1, 1}, {y, -1, 1}, {z ...  False, DisplayFunctionIdentity(* PlotLabel "D=F=1" *)]

⁃Graphics3D⁃

DD = -1 ; FF = -1 ; negdef = ContourPlot3D[x + s (DD y^2 + FF z^2), {x, -1, 1}, {y, -1, 1}, {z ...  False, DisplayFunctionIdentity(* PlotLabel "D=F=1" *)]

⁃Graphics3D⁃

pRange = PlotRange {{-1.3, 1.3}, {-1.2, 1.2}, {-1.2, 1.2}} ; pView = ViewPoint-> {3.241, -7.049, 2.654} ;

P3 = Show[semidef, varArrow[-0.9, 1.1], pRange, pView] ;

P1 = Show[zero, varArrow[-0.8, 0.7],   PlotRange {{-1.3, 2.4}, {-1.2, 1.2}, {-1.2, 1.2}}, pView] ;

P2 = Show[posdef, varArrow[-1.4, 0.6], pRange, pView] ;

P4 = Show[negdef, varArrow[-0.7, 1.3], pRange, pView] ;

Show[GraphicsArray[ {{P1, P2},  {P3, P4}} (* GraphicsSpacing -0.1 *)] ]

[Graphics:HTMLFiles/SurfacePlots 1x4_19.gif]

⁃GraphicsArray⁃

Show[GraphicsArray[ {P1, P2, P3, P4}, GraphicsSpacing -0.48] ]

[Graphics:HTMLFiles/SurfacePlots 1x4_22.gif]

⁃GraphicsArray⁃

Export["wavepics.eps", %]

wavepics.eps


Created by Mathematica  (March 10, 2006)